<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <div>123</div>
    <ul>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <a href="http://www.baidu.com">百度</a>
    <script>
        var div=document.querySelector('div');
        //event是一个事件对象，写到函数括号内，当形参来看
        //它是系统给我们自动创建的，不需要我们传递参数
        //事件对象是我们事件的一系列相关数据的集合  比如鼠标点击里面包含了鼠标事件的相关信息，比如坐标等
        // div.onclick=function(event){
        //     console.log(event);
        // }
        //事件对象也有兼容性问题。ie678通过window.event来获取事件对象
        div.addEventListener('click',function(event){
            event=event||window.event; //兼容性处理
            console.log(event);

            //e.target指的是此时触发事件的对象
            console.log(event.target); 
            console.log(this);
            //两者不一样  this返回的是绑定事件的对象  target返回触发事件的对象
            //type是事件对象的类型
            console.log(event.type);
            
        })
        var ul =document.querySelector('ul');
        ul.addEventListener('click',function(e){
            console.log(this);
            console.log(e.target);
            //点击li  this返回的是ul target返回的是li
        })
        //了解  跟this有个非常相似的属性  currentTarget  ie678不认识

        //阻止默认行为
        var a = document.querySelector('a');
        // a.addEventListener('click',function(e){
        //     e.preventDefault(); //阻止链接的跳转行为 DOM的标准写法

        // })
        //传统写法 阻止
        a.onclick = function(e){
            // e.preventDefault();
            // e.returnValue;//ie678的属性 阻止跳转
            //我们可以利用return false 来阻止默认行为
            return false; //只限于传统的注册方式
        }

        //阻止冒泡
        //写到事件流里
    </script>
</body>

</html>